iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0
Web 3

當 APP develop 遇上 web3 與 Metaverse 浪潮 系列 第 22

[Day 貳拾貳] 來開發元宇宙中藥鋪吧10 - 如何處理場景置中+旋轉

  • 分享至 

  • xImage
  •  

有了基本場景後

我們如何處理場景置中+旋轉呢?

  1. 利用 顯示視野旋轉範圍
 <OrbitControls
        ref={ref_zero}
        makeDefault
        minAzimuthAngle={-Math.PI / 16}
        maxAzimuthAngle={ Math.PI / 16}
        minPolarAngle={Math.PI / 3}
        maxPolarAngle={Math.PI / 3}
        enableZoom={true}
        enablePan={true}
        zoomSpeed={0.3}
        // target={ref_zero}
      />
  1. 利用 pmndrs/drei 中的 將場景中主要物件作為目標

Calculates a boundary box and centers the camera accordingly. If you are using camera controls, make sure to pass them the makeDefault prop. fit fits the current view on first render. clip sets the cameras near/far planes. observe will trigger on window resize.

<Bounds fit clip observe damping={6} margin={1.2}>
  <mesh />
</Bounds>

中藥堂

<Bounds fit clip observe margin={1}>
            <ModelCMD onClick={(event) => click_to_Lef(!clicked_to_Left)} position={[0, 21, 0]} scale={3} rotation={[-Math.PI / 2 + 0.5, -Math.PI / 2, 0]} />
            <ModelDraco scale={10} position={[5 - 6, 1.5 + 1, 1]} receiveShadow castShadow />
            <group position={[5 - 5, 43 + 2, -11]}>
              <GoldenText scale={5} rotation={[0, Math.PI / 2, Math.PI / 2 + 0.1]} receiveShadow />
            </group>
</Bounds>

上一篇
[Day 貳拾壹] 來開發元宇宙中藥鋪吧9 - 修正載入時 3D 牌匾 與場景中牌匾衝突
下一篇
[Day 貳拾貳] 來開發元宇宙中藥鋪吧10 - 蒸氣騰騰
系列文
當 APP develop 遇上 web3 與 Metaverse 浪潮 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言